﻿Imports Microsoft.Reporting.WinForms

Public Class Reporteador
    Dim _TipoReporte As String
    Private Sub Reporteador_Load(sender As Object, e As EventArgs) Handles Me.Load
        Me.EncabezadoTableAdapter.Fill(Me.DSvalesVendidos.Encabezado)
        Dim Oencab As New ReportDataSource("Encabezado", EncabezadoBindingSource)
        ReportViewer.LocalReport.DataSources.Add(Oencab)
        Dim CV As DataTable = Me.ClientesConValesTableAdapter.GetData()
        CboCliente.Items.Add("0000" & "|" & "Todos")
        For Each R As DataRow In CV.Rows
            CboCliente.Items.Add(R("flotilla") & "|" & R("nombre"))
            Application.DoEvents()
        Next
        CboCliente.Text = "0000|Todos"
    End Sub
    Private Sub BotonGenerar_Click(sender As Object, e As EventArgs) Handles BotonGenerar.Click
        If IO.Directory.Exists(Application.StartupPath & "\RDLC") = False Then
            IO.Directory.CreateDirectory(Application.StartupPath & "\RDLC")
        End If
        GuardarRecurso(My.Resources.ReporteValesVendidos, "ReporteValesVendidos.rdlc")
        GuardarRecurso(My.Resources.ReporteValesEjercidos, "ReporteValesEjercidos.rdlc")
        GuardarRecurso(My.Resources.ReporteSurtidoDisponible, "ReporteSurtidoDisponible.rdlc")
        If Me.Rvendidos.Checked Then
            If Me.ValesVendidosTableAdapter.FillValesVendidos(Me.DSvalesVendidos.ValesVendidos, Me.Dinicial.Value, Me.Dfinal.Value) <= 0 Then
                MsgBox("No hay registros en ese Rango", MsgBoxStyle.Exclamation, "Atencion")
                Me.Dinicial.Focus()
                GoTo borrar
            End If
            ReportViewer.LocalReport.ReportPath = Application.StartupPath & "\RDLC\ReporteValesVendidos.rdlc"
            Dim Ovend As New ReportDataSource("DSv", ValesVendidosBindingSource)
            ReportViewer.LocalReport.DataSources.Add(Ovend)
        ElseIf Me.Rejercidos.Checked Then
            Dim Oejercidos As New ReportDataSource("ValesEjercidos", ValesEjercidosBindingSource)
            ReportViewer.LocalReport.DataSources.Add(Oejercidos)
            If Me.ValesEjercidosTableAdapter.Fill(Me.DSvalesVendidos.ValesEjercidos, Me.Dinicial.Value, Dfinal.Value) <= 0 Then
                MsgBox("No hay registros en ese Rango", MsgBoxStyle.Exclamation, "Atencion")
                Me.Dinicial.Focus()
                GoTo borrar
            End If
            ReportViewer.LocalReport.ReportPath = Application.StartupPath & "\RDLC\ReporteValesEjercidos.rdlc"
        ElseIf Me.RsurtidoDisponible.Checked Then
            Dim _Nombre As String = Split(CboCliente.Text, "|")(1)
            If EjercudoDisponibleTableAdapter.Fill(DSvalesVendidos.EjercudoDisponible) <= 0 Or CboCliente.Items.IndexOf(CboCliente.Text) = -1 Then
                MsgBox("No hay registros para el cliente seleccionado", MsgBoxStyle.Exclamation, "Atencion")
                CboCliente.Focus()
                GoTo borrar
            End If
            If _Nombre <> "Todos" Then
                EjercudoDisponibleBindingSource.Filter = "cliente='" & _Nombre & "'"
            Else
                EjercudoDisponibleBindingSource.Filter = ""
            End If
            Dim oedc As New ReportDataSource("DsSurtidosDisponible", EjercudoDisponibleBindingSource)
            ReportViewer.LocalReport.DataSources.Add(oedc)
        End If
            If RsurtidoDisponible.Checked = False Then
                Dim p1 As New ReportParameter("Inicial", Me.Dinicial.Value)
                Dim p2 As New ReportParameter("Final", Me.Dfinal.Value)
                ReportViewer.LocalReport.SetParameters(p1)
                ReportViewer.LocalReport.SetParameters(p2)
            Else
                Dim param As New ReportParameter("nombre", Split(CboCliente.Text, "|")(1))
                ReportViewer.LocalReport.SetParameters(param)
            End If
            Me.ReportViewer.RefreshReport()
borrar:
            If IO.Directory.Exists(Application.StartupPath & "\RDLC") = True Then
                IO.Directory.Delete(Application.StartupPath & "\RDLC", True)
            End If
    End Sub
    Private Sub RsurtidoDisponible_CheckedChanged(sender As Object, e As EventArgs) Handles RsurtidoDisponible.CheckedChanged, Rvendidos.CheckedChanged, Rejercidos.CheckedChanged
        GroupBoxFechas.Visible = Not RsurtidoDisponible.Checked
        GrupoClientes.Visible = RsurtidoDisponible.Checked
    End Sub

    Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click

    End Sub
End Class